home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 April / CHIP 1996 aprilis (CD06).zip / CHIP_CD06.ISO / hypertxt.arj / 9311 / UNDELETE.CD < prev    next >
Text File  |  1995-04-19  |  17KB  |  320 lines

  1.           @VMS DOS 6 Undelete (Sentry)@N
  2.           
  3.           @VAmi a kézikönyvbôl kimaradt...@N
  4.           
  5.           Minden  programfelhasználót  ért  már  meglepetés, amikor az
  6.           általa  mûködtetett  program  a felhasználás során szokatlan
  7.           dolgokat  mûvelt.  Ilyenkor  a felhasználói dokumentáció nem
  8.           sok  segítséget nyújtott, sôt gyakran még hasonló helyzetrôl
  9.           sem tett említést.
  10.           
  11.           
  12.           A  Microsoft  DOS  6.0-s  verziójának  igen  hasznos része a
  13.           régóta    várt    teljes    Undelete.   Elmondhatjuk,   hogy
  14.           valószínûleg  az  Undelete  leghasznosabb  formája  a Delete
  15.           Sentry.    Ez    a    funkció   nemcsak   ígéri   a   teljes
  16.           visszaállíthatóságot,  hanem  csaknem  meg  is  valósítja. A
  17.           továbbiakban  olyan tényekre hívjuk fel a figyelmet, amelyek
  18.           a  Sentry  helyes használatát megkönnyítik, ugyanakkor a DOS
  19.           kézikönyv nem említi ôket.
  20.           
  21.           
  22.            @VTechnikai részletek@N
  23.           
  24.           A  Delete  Sentry  lényege,  hogy  a  letörölt  file-okat  a
  25.           rendszer   a   fôkönyvtárban   elhelyezett   rejtett  SENTRY
  26.           alkönyvtárba  ""másolja". (Ez a másolás természetesen csak a
  27.           file-bejegyzés  mozgatását  jelenti.)  Az átmásolt file-ok a
  28.           SENTRY-n  belül  .MS kiterjesztést kapnak, nevük pedig a DOS
  29.           által  generált  szám-  és betûhalmaz lesz. Visszaállításkor
  30.           csupán  annyi  történik,  hogy  a  bejegyzés újra az eredeti
  31.           könyvtárba  kerül,  nevét  pedig  a \SENTRY\CONTROL.FIL file
  32.           adatai alapján az Undelete visszaállítja.
  33.           
  34.           A  Delete  Sentry  csak  akkor vesz fel egy file-t a törlési
  35.           listára,  ha  az  a DEL (ERASE) parancs hatására szûnik meg.
  36.           Ide  számít  a  különbözô  file-managerek törlése is. A MOVE
  37.           parancs  vagy  vele  kompatibilis  segédprogram  azonban nem
  38.           bôvíti  a  törölt  file-ok  listáját.  Ha tehát valamit MOVE
  39.           után  az  új  helyérôl  törlünk  le,  csak innen tudjuk majd
  40.           visszahozni.
  41.           
  42.           Åltalában  elmondható,  hogy  nagyon nehéz letörölni valamit
  43.           DOS   szintû  mûveletekkel  a  tárban  aktív  Delete  Sentry
  44.           figyelmét  elkerülve.  Ez  a  tény  nagy segítséget jelenhet
  45.           olyan  felhasználóknak,  akiknek nincsenek mélyebb ismeretei
  46.           a  file-rendszer  mûködésérôl.  Sajnos  a SUBST segítségével
  47.           létrehozott  meghajtók  kivételnek  számítanak.  Ha  ugyanis
  48.           például   a  C:  és  a  D:  védett  meghajtó,  a  C:  egység
  49.           valamelyik  könyvtárát  D:-re  helyettesítve  (például @KSUBST@N
  50.           @KD:   C:\TEMP@N   paranccsal),   majd   a   látszólagos   D:-re
  51.           átlépve   s   onnan   mindent  törölve  a  Sentry  a  törölt
  52.           file-okat  a  D:\SENTRY  hiánya miatt sehova nem jegyzi fel.
  53.           Ilyen   esetben   a   visszahozásra  csak  a  jóval  kevésbé
  54.           megbízható  módszerek  valamelyike marad, ezért felhasználói
  55.           környezetben  ügyelni  kell  a SUBST használatára! Szakértôk
  56.           számára  létezik néhány más módszer, (például a Disk Editor,
  57.           vagy    a   könyvtár-bejegyzés   töröltté   tétele,   CHKDSK
  58.           futtatásával  folytatva  (a  lost  clusterek  eldobásával)),
  59.           ezek  az  eljárások  azonban  többnyire  a  DOS-t  kikerülve
  60.           mûködnek   (BIOS-szintû   mûveleteket   a   Sentry  nem  tud
  61.           felügyelni).
  62.           
  63.           
  64.            @VUndelete és a könyvtárnevek@N
  65.           
  66.           Amint  azt  a  kézikönyv  is  említi,  az Undelete nem képes
  67.           törölt    könyvtárnevek    visszaállítására.    A    DELTREE
  68.           segítségével   megszüntetett   könyvtárakban   lévô   adatok
  69.           visszahozatalához kerülô utat kell igénybe vennünk:
  70.           
  71.           1.   A   \SENTRY\CONTROL.FIL-t  megtekintve  megtudhatjuk  a
  72.           keresett  file  teljes  elérési  útját. Ezt a könyvtárláncot
  73.           kell   újra  létrehozni,  majd  ide  belépve  elindítani  az
  74.           Undelete-et, innen már visszahozható a törölt file.
  75.           
  76.           2.  A  Norton  Utilities  7.0  Quick  Unerase segédprogramja
  77.           képes  a Delete Sentry elmentett információit felhasználva a
  78.           teljes    visszaállításra.    Ez    a   megoldás   látszólag
  79.           kényelmesebb,     mivel     mindenféle     kutatás    nélkül
  80.           hozzájuthatunk  a  letörölt  file-ok  listájához  (a  Norton
  81.           Unerase  megjeleníti a könyvtárszerkezetet is), a valóságban
  82.           azonban  nem vesz tudomást azokról a letörölt könyvtárakról,
  83.           amelyek  könyvtárbejegyzése  már felülíródott. Ez a probléma
  84.           akkor  jelentkezhet,  ha  a visszaállítás során megelégszünk
  85.           az Unerase által felkínált visszaállítható könyvtárakkal.
  86.           
  87.           Példa:  a  C:\TEMP\T1  könyvtárból  minden file-t töröltünk,
  88.           késôbb  maga  a  T1 alkönyvtár is megszûnt. Az Undelete-et a
  89.           C:\TEMP-en  belül indítva nem kapunk információt arról, hogy
  90.           itt  létezett  a  T1 alkönyvtár, csak a C:\TEMP-bôl letörölt
  91.           file-ok  jelennek  meg. Ha a törlés óta nem vettünk semmit a
  92.           C:\TEMP-be,  az  Unerase  mutatja, hogy létezett egy ?1 nevû
  93.           alkönyvtár   is.   Ennek   elsô   karakterét   nekünk   kell
  94.           szolgáltatnunk,  hiszen  azt a DOS a törlésnél eldobta. Ha a
  95.           T1-et  visszahozzuk,  az  Unerase már képes a C:\TEMP\T1-bôl
  96.           kiirtott file-ok megjelenítésére is.
  97.           
  98.           Nem   bízhatunk   a   Norton   Unerase-ben,  ha  a  törlések
  99.           végrehajtása  óta  már másoltunk a C:\TEMP-be. Ekkor ugyanis
  100.           a  ?1 (volt T1) bejegyzését igénybe vehette a DOS, így annak
  101.           létezésérôl  nem  szerzünk tudomást. Sajnos az Unerase nincs
  102.           felkészítve   erre   a   lehetôségre,   ezért   a   letörölt
  103.           alkönyvtárak   nevét   teljes   biztonsággal  a  CONTROL.FIL
  104.           vizsgálatával állapíthatjuk meg.
  105.           
  106.           
  107.            @VAz Undelete és a Mirror@N
  108.           
  109.           Figyelemre   méltó,   hogy   a   DOS  Mirror  segédprogramja
  110.           alapértelmezésben  nem  fér össze a Delete Sentryvel. (Annál
  111.           is   inkább   meglepô,  mivel  mindkettôt  a  Central  Point
  112.           készítette!)   A  hiba  igen  érdekesen  jelentkezik:  ha  a
  113.           Mirrort  egy  Delete  Sentryvel védett lemezen elindítjuk, a
  114.           következô zajlik le:
  115.           
  116.           1.  A  Mirror  letörli  a régi indexfile-t, amivel a lemezen
  117.           lévô  mentett  állapotát  elérhette. Ezt a Sentry úgy hajtja
  118.           végre,  hogy  a MIRORSAV.FIL-t átnevezi .MS kiterjesztésûvé,
  119.           és a \SENTRY-be mozgatja.
  120.           
  121.           2.  A  Mirror  keresést  indít  a  lemez utolsó szektoraiban
  122.           Mirror  index  (maradványok) után. Itt talál egy ????????.MS
  123.           nevû  file-t  a  MIRORSAV.FIL helyén, majd ezt megvizsgálja.
  124.           Mivel  az  adatformátum  jó,  de a név nem egyezik, a Mirror
  125.           hibát jelez:
  126.           
  127.           @KDrive X error. Data was found in a file that@N
  128.           @K@N
  129.           @Kappears to be a MIRROR control file. Cannot continue.@N
  130.           
  131.           Természetesen    ilyenkor    a   Mirror   a   visszaállítási
  132.           információkat  sem  menti  el.  A  fentieket  többféleképpen
  133.           küszöbölhetjük ki:
  134.           
  135.           1.  A  Mirror  és az Undelete AUTOEXEC.BAT-ból való indítása
  136.           esetén elôször a Mirrort, majd az Undelete-t indítsuk el.
  137.           
  138.           2.  Használjuk  a  Norton  Utilities IMAGE programját, ami a
  139.           Mirror  feladatait  látja el. Az Image-nek nem okoz gondot a
  140.           régi   indexfile   maradványa.   Persze   ezt   csak   akkor
  141.           követhetjük  el,  ha jogtiszta Norton Utilities tulajdonosai
  142.           vagyunk.
  143.           
  144.           3.  Az Undelete számára írjuk elô, hogy ne törôdjön a Mirror
  145.           részeivel.  Ezt  az UNDELETE.INI [sentry.files szekciójának
  146.           alábbi bôvítése oldja meg:
  147.           
  148.           @K-MIRROR.FIL -MIRROR.BAK -MIRORSAV.FIL@N
  149.           
  150.           
  151.            @VAz Undelete mûködése és a szabad lemezterület@N
  152.           
  153.           Az  Undelete ügyel arra, hogy a ""törölt" file-okat a DOS ne
  154.           lássa.    A   \SENTRY   könyvtárból   csak   a   CONTROL.FIL
  155.           ""nyilvános",  az  MS  kiterjesztésû file-okat a DOS a lemez
  156.           szabad  területéhez  számítja. îgy a DIR, a Norton Commander
  157.           stb.  több  szabad  területet  jelez, mint amennyi a lemezen
  158.           üres,  értve  ezalatt  a  törölt  file-ok  területén  kívüli
  159.           részeket.  Ez azonban gyanút kelthet, hiszen alacsony szintû
  160.           ellenôrzô   program   (például  a  CHKDSK)  számára  ezek  a
  161.           területek  foglaltnak  számítanak.  Ha  nem  egyezik  a  két
  162.           módszer   által   adott   üresnek  jelzett  méret,  egy  kis
  163.           számítással  ellenôrizhetjük,  vírus vagy az Undelete Sentry
  164.           okozza-e az eltérést.
  165.           
  166.           Következzen  egy  példa!  (A képernyôn megjelenô szövegekbôl
  167.           csak  a számunkra fontos sorokat hagytuk meg, a kihagyásokat
  168.           (...) jelöli, a sorokat /// jelöléssel választottuk el.)
  169.           
  170.           A DOS DIR parancs kiírása: (...) 27688960 bytes free
  171.           
  172.           CHKDSK:  (...)  2048 bytes in each allocation unit /// 13261
  173.           available  allocation  units  on  disk  ///  27158528  bytes
  174.           available on disk
  175.           
  176.           DIR  \SENTRY\*.MS:  Directory  of  C:\SENTRY  ///  (...)  63
  177.           file(s) 436713 bytes /// 27688960 bytes free
  178.           
  179.           DIR   \SENTRY\*.FIL   /A:S:   Directory   of  C:\SENTRY  ///
  180.           CONTROL.FIL  7340  08-20-93  9:13a  /// 1 file(s) 7340 bytes
  181.           /// 27688960 bytes free
  182.           
  183.           A   \SENTRY  lemezen  elfoglalt  helye:  File  Size,  Norton
  184.           Utilities  7.0,  Copyright  1993 by Symantec (...) C:\SENTRY
  185.           (...)  444,053  total  bytes  in  64 files /// 538,624 bytes
  186.            disk space occupied (...)
  187.           
  188.           A  CONTROL.FIL  lemezen  elfoglalt  helye: File Size, Norton
  189.           Utilities  7.0,  Copyright  1993 by Symantec (...) C:\SENTRY
  190.           ///  CONTROL.FIL /// 7,340 total bytes in 64 files /// 8,192
  191.           bytes disk space occupied (...)
  192.           
  193.           Az  eltérések  oka:  valóban  szabad:  27158528  byte (13261
  194.           cluster,  veszélytelenül  használható); \SENTRY: 538624 byte
  195.           (263    cluster,    felülírása   információvesztést   okoz);
  196.           CONTROL.FIL:  8192  byte (4 cluster, nem felülírható, lemezt
  197.           foglal);  ????????.MS:  530432  byte (259 cluster, látszólag
  198.           szabad) DOS szabad: 27688960 byte.
  199.           
  200.           Ha  a  fenti  számítás  végeredménye eltér a DIR által adott
  201.           üres  mérettôl,  valami más garázdálkodik a lemezen (és/vagy
  202.           a memóriában).
  203.           
  204.           A  látszólag  szabad  területet  a  DOS  lemezreírás  esetén
  205.           igénybe  veszi,  így  a  lemezt teljesen megtöltve az összes
  206.           törölt  file  visszaállíthatatlanná  válik. Ez természetesen
  207.           igaz  a  többi  Undelete formára is, ezeket azonban a Sentry
  208.           felülmúlja,  hiszen  az  általa védett file-ok túlélnek akár
  209.           egy lemezoptimalizálást is.
  210.           
  211.           
  212.            @VAz Undelete lemezkezelése@N
  213.           
  214.           A  Delete  Sentry az általa lefoglalt területet (a \SENTRY-n
  215.           belül)  FIFO-elven kezeli, azaz mindig az utolsónak letörölt
  216.           file-ok  visszaállítására  képes. Ha egy file-t letörlünk, a
  217.           következô megy végbe:
  218.           
  219.           1.   Ellenôrzés:   befér-e   a   file   a   Sentrynek  adott
  220.           lemezterületre?   Ha   nem,   a  file  törlése  nyom  nélkül
  221.           megtörténik, a Sentry pufferének tartalma nem változik.
  222.           
  223.           2.  Ellenôrzés:  van-e  annyi  üres  hely,  hogy  a  file  a
  224.           \SENTRY-be  kerülhessen?  Ha  van, megtörténik a ""másolás",
  225.           és a file törlôdik.
  226.           
  227.           3.  Ha  a  file  nem fér el a Sentry szabad helyén, a Sentry
  228.           addig  töröl  a  tárolt  visszaállítható file-ok közül, amíg
  229.           elegendô   terület   nem   szabadul   fel.  Ekkor  a  törlés
  230.           megtörténik.  A  visszaállítható  file-ok  eldobása  törlési
  231.           idôpont (dátum) szerinti sorrendben történik.
  232.           
  233.           
  234.            @VÅltalános tanácsok@N
  235.           
  236.           Az  Undelete-et  célszerû  az  AUTOEXEC.BAT-ból  telepíteni.
  237.           Ezzel  elkerülhetjük,  hogy  a  helyi szokásokat nem ismerve
  238.           valaki  felügyeletlen  törlési  mûveletekkel  tudtunk nélkül
  239.           kárt  okozzon.  Elôfordulhat, hogy az Undelete nagyon lassan
  240.           ""áll  talpra".  Ez azt jelenti, hogy nagyon sok törölt file
  241.           ""szavatossági     ideje"    lejárt,    azaz    letelt    az
  242.           UNDELETE.INI-ben megadott megôrzési határidô.
  243.           
  244.           Különösen   fejlesztôi   környezetben  (ahol  szükség  lehet
  245.           gyakori       rendszerújraindításra)       ajánlatos      az
  246.           AUTOEXEC.BAT-ból  kiszûrni  az  olyan  programokat,  amelyek
  247.           átmeneti  file-okat  hoznak  létre,  majd  azokat törlik. Ez
  248.           ugyanis   azt  jelenti,  hogy  minden  rendszerindulás  után
  249.           lassanként  töltôdik a Sentry puffere. îgy egy idô után csak
  250.           az   átmeneti   file-okat   találjuk   majd  visszaállítható
  251.           állapotban.   E   veszély   fôleg   a   nagyra   duzzasztott
  252.           AUTOEXEC.BAT-ok    tulajdonosait   fenyegeti.   (Pl.   @K|MORE@N
  253.           vagy   @K|SORT@N   az   AUTOEXEC.BAT-on  belül.)  Érdemes  ezért
  254.           néhány  reset után megszemlélni, helyezett-e a Sentry törölt
  255.           file-t a \SENTRY-be. Ha igen, kezdôdhet az ok felderítése.
  256.           
  257.           Ha  rendszerindítás  során rendelkezünk memórialemezzel (RAM
  258.           drive),  célszerû a TEMP környezeti változót ide irányítani,
  259.           és  magát  a  memórialemezt  a Sentry számára nem védendônek
  260.           nyilvánítani.  Ilyenkor  a  DOS  átmeneti file-jait a Sentry
  261.           nem követi.
  262.           
  263.           Ha  nincs  memórialemezünk,  érdemes  a kiterjesztés nélküli
  264.           file-ok  figyelmen  kívül hagyását elôírni a Sentry számára,
  265.           ilyenek  ugyanis a DOS átmeneti file-jai. Ez az UNDELETE.INI
  266.           [sentry.files@N szakaszának alábbi bôvítését jelenti:
  267.           
  268.           @K-*.@N
  269.           
  270.           Nagy  mennyiségû,  biztosan  felesleges  adat törlése esetén
  271.           (például  egy  több  (tíz)  Mbyte-os  program verziócseréje)
  272.           célszerû  a  Delete Sentry kikapcsolása mellett végrehajtani
  273.           a  mûveletet.  Ilyenkor  ugyanis  a  törlés során nem válnak
  274.           visszállíthatatlanná   olyan   adatok,  amelyek  elvesztését
  275.           késôbb   megbánnánk   (például  egy  fejlesztés  alatt  álló
  276.           program  tegnapelôtti állapota, amelynek végleges elvesztése
  277.           nagyobb  gondot  jelenhet,  mint  a teljes CorelDraw 3.0). A
  278.           kikapcsolásra   az   UNDELETE   /UNLOAD  szolgál.  Ekkor  az
  279.           UNDELETE  nem  láncolja ki magát, ha valaki más használja az
  280.           általa  figyelt  megszakításokat  (16H,  19H, 21H, 25H, 26H,
  281.           2FH).  Ez  nem gond, ha az utolsó betöltött rezidens program
  282.           az   Undelete.   Az   MS  DOS  6.0  MEMMAKER-je  azonban  az
  283.           Undelete-et  többnyire  a  felsô memóriába elsônek betöltött
  284.           TSR-k  közé  teszi,  mivel  töltési  mérete  (mintegy  28 K)
  285.           lényegesen  meghaladja  a végleges rezidens méretet (mintegy
  286.           13 K).
  287.           
  288.           Ha  egy  könyvtár  megsemmisítése  kedvéért nem szeretnénk a
  289.           rendszert   újraindítani,   és   az  Undelete  nem  hajlandó
  290.           kiláncolódni, az alábbi módszerek közül választhatunk:
  291.           
  292.           1.  Alkalmazzuk  a  technikai  részletek között ismertetett,
  293.           SUBST   parancsra   alapozott   eljárást.  Helyettesítsük  a
  294.           törlendô  könyvtár  nevét  egy  meghajtóra,  majd  töröljünk
  295.           onnan mindent:
  296.           
  297.           @KSUBST D: C:\TEMP@N
  298.           @KD:@N
  299.           @KCD \@N
  300.           @KECHO Y | DEL *.*@N
  301.           @K(esetleges alkönyvtárak törlése:)@N
  302.           @KCD T1@N
  303.           @KECHO Y | DEL *.*@N
  304.           @K(...)@N
  305.           @KSUBST D: /D@N
  306.           
  307.           2.  Keressünk  olyan file-specifikációt az UNDELETE.INI-ben,
  308.           amit   a   Sentry   nem   véd.  Ezek  a  [sentry.files  sor
  309.           mínuszjellel  kezdôdô  tagjai.  Ha  minden  kiirtandó file-t
  310.           ilyen  névre  nevezünk át, azokat gond nélkül letörölhetjük.
  311.           (A  TMP  kiterjesztésû  file-ok  többnyire védtelenek.) Ez a
  312.           módszer  kényelmetlen,  ha  nagyon  sok  alkönyvtárunk  van.
  313.           Ilyen  esetben  a könyvtárfákat kezelô programok segíthetnek
  314.           (Norton Commander 4.0, TARGET stb.).
  315.           
  316.           3.  A  felesleges  könyvtárstruktúrát átmozgathatjuk egy nem
  317.           védett meghajtóra, majd innen törölhetjük.
  318.           
  319.           @KVisegrády Tamás@N
  320.